from flask import Blueprint, request, jsonify
from models.detector import Detector
from utils.metrics import evaluate_evasion_rate

# 创建一个新的 Blueprint 对象 evaluate_bp
evaluate_bp = Blueprint('evaluate', __name__)

# 初始化检测器
detector = Detector(input_dim=146)  # 根据数据的列数（146）

# 创建路由来处理评估
@evaluate_bp.route('/evaluate', methods=['POST'])
def evaluate():
    original_data = request.json['original_data']
    generated_data = request.json['generated_data']
    
    # 计算逃逸率
    evasion_rate = evaluate_evasion_rate(detector, original_data, generated_data)
    return jsonify({'evasion_rate': evasion_rate})
